-- SPDX-License-Identifier: GPL-3.0-or-later

--------------------------------------------------
--Vup杀
--------------------------------------------------

--------------------------------------------------
--计划
--房间部分：
-- 增加安全直播模式
--底层部分
-- 技能失效后续看N神会不会提供便捷的入口，否则就要写一个function然后放在其他技能的on_cost里，相关标签名单可以通过萌的table.insert手段放入function里。
--UI部分
-- 玩家状态栏：将非图标标记但需要替玩家记住的内容放进去，需要注意如果这么做可能需要另行写一份针对状态栏的按固定节点的清除函数，并关注其发动后对内存的占用。
-- 推进牌图片扩展包
-- 推进UI扩展包
--------------------------------------------------

--------------------------------------------------
--通用马克
--以下技能存在跳过阶段无法作为on_cost一部分的方式，后续处理（芳仙、娇惰）
--根据是否装Vup杀卡牌包优化部分交互，避免差一个导致的报错。
--有个SkillCanTarget(对方角色, player, 技能名)的看不出来是什么，疑似与词条“发动此技能”有关，但和技能无效一样是通用内容）
--------------------------------------------------

--------------------------------------------------
-- “不受其他角色技能效果影响”【这个大概是player:canEffect(对方角色,技能名)】
-- ①效果中涉及你的技能,如果需要点人则不能点你，如果不需要点人则在发动后无事发生(如:不能对你发动“病缚”，你的牌被破坏后小柔可以发动“情柔”但是没效果)
-- ②如果技能效果没有被①阻止，那么在结算时直接对你无效:伤害、摸牌、给牌等
-- ③不能免疫转化/视为使用牌这类技能(如全能、贯袭)，因为不属于技能效果
-- ④“不可响应”类技能,如果技能里涉及了你则可以免疫，否则不影响（如三叹牌你不可响应，但是咒诀牌你可以响应，因为咒诀要比较手牌数涉及了你)
-- ⑤这个效果优先于“技能无效”【这个应该是skillnullify】
--------------------------------------------------

--------------------------------------------------
-- 角色特性制作方法：
-- 一个空壳锁定技addrelatedskill技能（只用来加描述）；一个隐藏锁定技（实际效果）
--------------------------------------------------

--------------------------------------------------
-- ((Fk.currentResponsePattern == nil and card.skill:canUse(Self)) or
-- (Fk.currentResponsePattern and Exppattern:Parse(Fk.currentResponsePattern):match(card)))
-- 这段代码的意思如下：如果不在响应（出牌阶段空闲时点），看这个牌能不能用（过滤闪、无懈等），在响应，看这个牌能不能响应
--------------------------------------------------

--------------------------------------------------
-- gamerule开发计划
-- 1. 以后需要做死人适配的话 gamestart标记需要增加复活时候重新刷上去的办法
--    还有一些需要加获得失去技能时候的加减标记适配
--------------------------------------------------

--------------------------------------------------
--描述里的加号都给老子别用全角！！！——Notify
--（旧Vup杀）转换技描述里带半角加号会转不动。
--------------------------------------------------

require("packages.VirtualSlash.i18n.init")

local prefix = "packages.VirtualSlash.pkg."

local old1 = require(prefix .. "old1") ---@type Package
local old2 = require(prefix .. "old2") ---@type Package

local aux_skills = require(prefix .. "aux_skills") ---@type Package

Fk:appendKingdomMap("god", {"psp", "novus", "facemoe", "xuyanshe", 
  "yueshaoshe", "niya", "chaociyuan", "individual", "bisonpro", "VirtualDove",
  "guancezhan"})

local extension = 
{
  old1,
  old2,
  aux_skills,
}

return extension